package br.com.vilababy.sigvb.dao;

import javax.persistence.NoResultException;

import br.com.vilababy.sigvb.SIGVBFactory;
import br.com.vilababy.sigvb.modelo.Login;

public class LoginDAO extends AbstractSIGVBDAO<Login> {
	
	/**
	 * @author Diego Patrick da Silva Santos
	 */

	protected LoginDAO() {
	}
	
	public Login consultarUsuario(Login login) {
		String consulta = "FROM Login l WHERE l.usuario = :usuario AND l.senha = :senha";
		this.query = SIGVBFactory.getEM().createQuery(consulta);
		this.query.setParameter("usuario", login.getUsuario());
		this.query.setParameter("senha", login.getSenha());
		
		try {
			return (Login) this.query.getSingleResult();
		} catch (NullPointerException nex) {
			System.out.println("Login Nulo");
			return new Login();
		} catch (ClassCastException cex) {
			System.out.println("Cast na classe login não realizado!");
			return new Login();
		} catch (NoResultException rex) {
			System.out.println("Não existe resultado para esta consulta!");
			return new Login();
		}
	}
}
